package leetcode.code1656;

import java.util.ArrayList;
import java.util.List;

public class OrderedStream {

	int ptr;

	String[] values;

	int n;

	public OrderedStream(int n) {
		values = new String[n + 1];
		ptr = 1;
		this.n = n;
	}

	public List<String> insert(int idKey, String value) {
		values[idKey] = value;
		List<String> ans = new ArrayList<>();
		if (idKey == ptr) {
			while (ptr <= n && values[ptr] != null) {
				ans.add(values[ptr++]);
			}
		}
		return ans;
	}

	public static void main(String[] args) {
		OrderedStream os = new OrderedStream(5);
		os.insert(3, "ccccc"); // 插入 (3, "ccccc")，返回 []
		os.insert(1, "aaaaa"); // 插入 (1, "aaaaa")，返回 ["aaaaa"]
		os.insert(2, "bbbbb"); // 插入 (2, "bbbbb")，返回 ["bbbbb", "ccccc"]
		os.insert(5, "eeeee"); // 插入 (5, "eeeee")，返回 []
		os.insert(4, "ddddd"); // 插入 (4, "ddddd")，返回 ["ddddd", "eeeee"]

	}

}
